const AuthList = imports.gdm.authList;
const Batch = imports.gdm.batch;
const GdmUtil = imports.gdm.util;
-const OVirt = imports.gdm.oVirt;
-const Vmware = imports.gdm.vmware;
const Params = imports.misc.params;
const ShellEntry = imports.ui.shellEntry;
const UserWidget = imports.ui.userWidget;
if (oldStatus === AuthPromptStatus.VERIFICATION_CANCELLED)
return;
beginRequestType = BeginRequestType.PROVIDE_USERNAME;
- } else if (this._userVerifier.serviceIsForeground(OVirt.SERVICE_NAME) ||
- this._userVerifier.serviceIsForeground(Vmware.SERVICE_NAME) ||
- this._userVerifier.serviceIsForeground(GdmUtil.SMARTCARD_SERVICE_NAME)) {
+ } else if (this._userVerifier.foregroundServiceDeterminesUsername()) {
// We don't need to know the username if the user preempted the login screen
// with a smartcard or with preauthenticated oVirt credentials
beginRequestType = BeginRequestType.DONT_PROVIDE_USERNAME;
return serviceName == this._getForegroundService();
}
+ foregroundServiceDeterminesUsername() {
+ for (let serviceName in this._credentialManagers) {
+ if (this.serviceIsForeground(serviceName))
+ return true;
+ }
+
+ return this.serviceIsForeground(SMARTCARD_SERVICE_NAME);
+ }
+
serviceIsDefault(serviceName) {
return serviceName == this._defaultService;
}